package com.wzdigit.wms.basic.client.request.transfer;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 收货单列表搜索输入
 * @author yangdongjie
 * @GetWarehouseListRequest.java
 * @2020年12月31日下午3:40:49
 */
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler", "fieldHandler"}, ignoreUnknown = true)
public class SearchGdnHeaderRequest implements Serializable {

	private static final long serialVersionUID = -5812482285373909439L;

	/**
	 * 状态
	 */
    @ApiModelProperty(value = "状态", required = false)
    private Integer status;

    /**
     * 发货单号
     */
    @ApiModelProperty(value = "发货单号", required = false)
    private String gdnNo;
	/**
	 * 发货类型
	 */
    @ApiModelProperty(value = "发货类型", required = false)
    private String gdnType;
    
    /**
     * 来源发货通知单
     */
    @ApiModelProperty(value = "来源发货通知单", required = false)
    private String sourceShipNotice;
    
    /**
     * 客户ID
     */
    @ApiModelProperty(value = "客户ID", required = false)
    private Integer customer;
    
    /**
     * 参考柜号
     */
    @ApiModelProperty(value = "参考柜号", required = false)
    private String refCntrNo;
    
    /**
     * 实际柜号
     */
    @ApiModelProperty(value = "实际柜号", required = false)
    private String cntrNo;

    /**
     * 物料编码
     */
    @ApiModelProperty(value = "物料编码", required = false)
    private String skuCode;
    
    /**
     * 发货日期
     */
    @ApiModelProperty(value = "发货日期", required = false)
    private Long shipTime;
    
    /**
     * 截关日期
     */
    @ApiModelProperty(value = "截关日期", required = false)
    private Long closingTime;
    
    /**
     * 查看待拣货发货单
     */
    @ApiModelProperty(value = "查看待拣货发货单", required = false)
    private Boolean isWaitPick;
    
    /**
     * 查看未完成发货单
     */
    @ApiModelProperty(value = "查看未完成发货单", required = false)
    private Boolean isNotFinish;

    /**
     * 收货人
     */
    @TableField(value = "CONSIGNEE_ID")
    @ApiModelProperty(value = "收货人")
    private Long consigneeId;

    /**
     * 发料仓库
     */
    @TableField(value = "WHS_ID")
    @ApiModelProperty(value = "发料仓库ID")
    private Long whsId;

    /**
     * 审核开始时间
     */
    @ApiModelProperty(value = "审核开始时间")
    private Long approvedTimeStart;

    /**
     * 审核结束时间
     */
    @ApiModelProperty(value = "审核开始时间")
    private Long approvedTimeEnd;


    /**
     * 发货日期开始
     */
    @ApiModelProperty(value = "发货日期开始", required = false)
    private Long shipTimeStart;
    /**
     * 发货日期结束
     */
    @ApiModelProperty(value = "发货日期开始", required = false)
    private Long shipTimeEnd;
    /**
     * 领料部门
     */
    @ApiModelProperty(value = "领料部门", required = false)
    private String rcvDept;

    @ApiModelProperty(value = "优先级", required = false)
    private String priority;

    @ApiModelProperty(value = "条码SN", required = false)
    private String goodsSn;

    @ApiModelProperty(value = "单据来源", required = false)
    private String dataSource;

    @ApiModelProperty(value = "勾选明细数组")
    private List<Integer> gdnHeaderIds;


    /**
     * 发货单号/参考柜号模糊查询
     */
    @ApiModelProperty(value = "发货单号/参考柜号模糊查询", required = false)
    private String filter;

}
